<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Algorithm Tuning</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../index.html" title="Boost.Regex 5.1.4">
<link rel="up" href="../configuration.html" title="Configuration">
<link rel="prev" href="locale.html" title="Locale and traits class selection">
<link rel="next" href="../install.html" title="Building and Installing the Library">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="locale.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../configuration.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../install.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_regex.configuration.tuning"></a><a class="link" href="tuning.html" title="Algorithm Tuning">Algorithm Tuning</a>
</h3></div></div></div>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                <p>
                  macro
                </p>
              </th>
<th>
                <p>
                  description
                </p>
              </th>
</tr></thead>
<tbody>
<tr>
<td>
                <p>
                  BOOST_REGEX_BLOCKSIZE
                </p>
              </td>
<td>
                <p>
                  Boost.Regex uses largish blocks of memory to act as a stack for
                  the state machine, the larger the block size then the fewer allocations
                  that will take place. This defaults to 4096 bytes, which is large
                  enough to match the vast majority of regular expressions without
                  further allocations, however, you can choose smaller or larger
                  values depending upon your platforms characteristics.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  BOOST_REGEX_MAX_BLOCKS
                </p>
              </td>
<td>
                <p>
                  Tells Boost.Regex how many blocks of size BOOST_REGEX_BLOCKSIZE
                  it is permitted to use. If this value is exceeded then Boost.Regex
                  will stop trying to find a match and throw a std::runtime_error.
                  Defaults to 1024, don't forget to tweak this value if you alter
                  BOOST_REGEX_BLOCKSIZE by much.
                </p>
              </td>
</tr>
<tr>
<td>
                <p>
                  BOOST_REGEX_MAX_CACHE_BLOCKS
                </p>
              </td>
<td>
                <p>
                  Tells Boost.Regex how many memory blocks to store in it's internal
                  cache - memory blocks are taken from this cache rather than by
                  calling ::operator new. Generally speaking this can be an order
                  of magnitude faster than calling ::opertator new each time a memory
                  block is required, but has the downside that Boost.Regex can end
                  up caching a large chunk of memory (by default up to 16 blocks
                  each of BOOST_REGEX_BLOCKSIZE size). If memory is tight then try
                  defining this to 0 (disables all caching), or if that is too slow,
                  then a value of 1 or 2, may be sufficient. On the other hand, on
                  large multi-processor, multi-threaded systems, you may find that
                  a higher value is in order.
                </p>
              </td>
</tr>
</tbody>
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 1998-2013 John Maddock<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="locale.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../configuration.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../install.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
